Douglas Crockford explains the new strict mode introduced in the 5th edition of ECMAScript. It is an opt-in mode that repairs or removes some of the language's most problematic features such as: function scoping, implied global variables and global leakage, read-only variable failures, octal defaults and function arguments.
Christian Heilmann compares the Object Literal to Douglas Crockford's Module pattern and finds that the Module pattern fixes a major problem of the object literal - the difficult choice of using this or fully qualified references to functions in the same block. Christian also covers the improvements in the Module Pattern, like the decluttering of the return block, which makes the resulting a little easier to work with.
Eric Miraglia explains Douglas Crockford's Module pattern, a way of creating encapsulated JavaScript functions that offer private and public methods and properties. It uses an anonymous function that returns an object containing our methods, and avoids the big issue of cluttering up the global namespace with global functions. Its based on the Singleton pattern.
Klaus Komenda discusses a number of ways of encapsulating JavaScript functions into objects and namespaces, and shows how to use each pattern. He covers Singletons, Douglas Crockford's Module Pattern and Custom Objects, building the same functionality with each technique.
A port of Douglas Crockford's command line JSMin in Perl. It removes extraneous whitespace and comments, but does not obfuscate the code.
Another Douglas Crockford video. This time Douglas talks about the Document Object Model, about how Java failed, and JavaScript evolved thanks to DHTML and DOM. He talks about how to use DOM to traversing and manipulating elements in an HTML document, walking the DOM, making elements, innerHTML, as well as Events, memory leaks. He talks about the cracks in DOM, and how we must be prepared to back off when we hit the browser limits of DOM.
Douglas Crockford's presentation on Advanced JavaScript. He covers topics such as inheritance, modules, debugging, efficiency and JSON.
Douglas Crockford explains why global variables in JavaScript are evil, causing unreliability and insecurity. JavaScript is a block of text that is eval'ed which leaves artifacts in the window's global object. He talks about why Yahoo! chose to use the global variable YAHOO all in uppercase.
Douglas Crockford examines the need for minimising the size of JavaScript code and compares minification and obfuscation. Obfuscation has the side-effect of introducing bugs because it changes variable names. The recommended approach is minification along with GZip compression. Since JavaScript is sent along in source form, it is impossible to hide that from a determined hacker
Douglas Crockford's JavaScript code conventions. Covers indentation, line length, comments, variable and function declarations, minification, statements and labels, whitespace, scope and eval.
First in a series of talks from Douglas Crockford about the JavaScript language. These talks cover the JavaScript language, from the history, the language, advanced features, platforms, standards and programming style. Talks about inheritance, using functions to build objects, closures, as well as the basic JavaScript syntax. Also covers code conventions. JavaScript is a language that requires discipline.
Although JavaScript is a class-free, object-oriented language using prototypal inheritance, it can still be used in a classical object-oriented way. Douglas Crockford compares the two inheritance-based systems, adding syntactic sugar to JavaScript to allow classical inheritance, and demonstrates a number of patterns that are not available in classical languages.
Douglas Crockford's useful utility that looks for potential problems in JavaScript code. Produces warnings like improper use of eval, and places where a dot operator is better than an array-like reference. An excellent tool to use before running JavaScript through a minifier. JSLint is actually a JavaScript parser written in JavaScript
Douglas Crockford discusses how to create private members and methods, and using privileged methods to bridge the gap between public and private. It also contains the simplest and most understandable definition of closures I've ever seen.
Douglas Crockford discusses his method of exposing the powerful prototypal inheritance from JavaScript, using his object function which untangles JavaScript's classical-adopted constructor pattern.
Douglas Crockford introduces the JavaScript Object Notation, a lightweight data interchange format that's giving XML-based web services a run for its money. Its a subset of the JavaScript programming language, and very easy for programs to parse or generate, and so its not surprising that all major languages now have JSON libraries/code snippets.